package cn.zhaoguang.usedcar.main.service;

import cn.zhaoguang.usedcar.common.http.ResultVO;
import cn.zhaoguang.usedcar.common.page.PageRequest;
import cn.zhaoguang.usedcar.common.page.PageResult;
import cn.zhaoguang.usedcar.main.entity.User;
import cn.zhaoguang.usedcar.main.entity.vo.UserAddVO;
import cn.zhaoguang.usedcar.main.entity.vo.UserUpdateInfoVO;
import cn.zhaoguang.usedcar.main.entity.vo.UserUpdatePasswordVO;

/**
 * @Description
 * @Author zhaoguang
 * @Date 2021/7/5 15:31
 */
public interface UserService {

    /**
     * @Description 添加用户
     * @Author zhaoguang
     */
    ResultVO add(UserAddVO userAddVO);

    /**
     * @Description 删除用户
     * @Author zhaoguang
     */
    int delete(Integer id);

    /**
     * @Description 修改用户信息
     * @Author zhaoguang
     */
    String updateInfo(UserUpdateInfoVO userUpdateInfoVO);

    /**
     * @Description 修改用户密码
     * @Author zhaoguang
     */
    String updatePassword(UserUpdatePasswordVO userUpdatePasswordVO);

    /**
     * @Description 用户接口-根据id查找用户(退出登录使用)
     * @Author zhaoguang
     */
    User findUserById(Integer id);

    /**
     * @Description 用户接口-根据phone查找用户(登录使用)
     * @Author zhaoguang
     */
    User findUserByPhone(String phone);



    /**
     * @Description 管理员接口-获取所有的用户
     * @Author zhaoguang
     */
    PageResult listAllUserForManager(PageRequest pageRequest);
}
